[アップデート] Amazon MWAAのマイクロ環境クラス「mw1.micro」が追加されたので環境構築してみました

[アップデート] Amazon MWAAのマイクロ環境クラス「mw1.micro」が追加されたので環境構築してみました

Clock Icon2024.11.24

AWS事業本部コンサルティング部の石川です。新たなマイクロ環境サイズが追加された Amazon Managed Workflows for Apache Airflow(以降、Amazon MWAAと略す)が追加されたので環境構築してみました。

https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-mwaa-smaller-environment-size/

Amazon MWAAと マイクロ環境クラス「mw1.micro」の導入ユースケース

マイクロ環境クラス「mw1.micro」の登場によって、ユースケースが広がります。

  • コスト効率の向上
    • 小規模な本番ワークロードでも導入できる
    • リソース最適化とコスト効率に柔軟に対応できる
  • 開発用途に最適
    • 開発環境やテスト環境として効率的に利用できる
  • データ分離
    • 異なるワークフロー要件毎にデータ分離を実現する
    • 部門ごとの分離環境が提供できる

mw1.microの主な特徴

mw1.microのスペックは以下のとおりです。

クラス/リソース スケジューラとワーカー vCPU/RAM Web サーバー vCPU/RAM 同時実行タスク DAG 容量
mw1.マイクロ 1 vCPU / 3GB 1 vCPU / 3GB 3 最大25

mw1.micro では、Amazon MWAA の全体的なアーキテクチャを維持しつつ、Airflow のスケジューラーとワーカーを単一のコンテナに統合しています。そのため、mw1.micro では2つの AWS Fargate タスクのみを使用します。

1つはスケジューラー/ワーカーのハイブリッド、もう1つはウェブサーバーです。この環境で起動されるAmazon ECSタスクは、AWS Fargate プラットフォーム バージョン 1.4.0を使用し、一時タスクストレージを20GBに増やします。

もう1つの変更点は、メタデータベースがt4g.mediumインスタンスタイプのAmazon Aurora PostgreSQL互換エディションを使用するようになったことです。

以下の図は、この環境のアーキテクチャを示しています。

amazon-mwaa-micro-env-1

mw1.microの主な機能と制約

機能

  • パブリックまたはプライベートのウェブサーバーを設定できため、必要に応じてAirFlow UIへのアクセスを制御できる
  • カスタムプラグインや要件を追加することで、AirFlowの機能を拡張し、依存関係を簡単に管理できる
  • 起動スクリプトを使用して初期化タスクを実行し、環境が仕様どおりに正確に構成されていることを確認できる
  • AirFlowUIは完全に機能し、ワークフローの管理と監視に同じ直感的なインターフェースを提供します。
  • 他のAmazon MWAA環境クラスと同じネットワーク機能を持ち、カスタムURLや共有VPCをサポートする
  • スケジューラーとワーカーのログは、それぞれ別のAmazon CloudWatchロググループに保存される

制約

mw1.microは機能性とコスト効率のバランスを重視したアーキテクチャであり、mw1.microの限られたリソースがもたらす制約もあります。

  • スケジューラーとワーカーが1つのFargateタスクに統合されているため、単一のスケジューラー/ワーカーコンテナのみがサポートされている
  • ウェブサーバー用の単一のFargateタスクで構成されており、ウェブサーバーの最大数は1です
  • ワーカー内の同時実行可能なAirflowタスクの数(worker_autoscale)は、最大数は3です

Amazon MWAA環境の構築

準備

事前にMWAAの情報の格納するS3のバケットを準備します。

構築

マネジメントコンソールから、マイクロサイズのAmazon MWAA環境を作成します。[環境を作成]ボタンを押します。

amazon-mwaa-micro-env-9

AirFlowの「名前」と準備で作成したS3バケットを指定します。

amazon-mwaa-micro-env-2

デプロイするVPC、インターネットへの公開/非公開、実行ロールを指定します。

amazon-mwaa-micro-env-3

環境クラスにて、「mw1.micro」を選択します。「mw1.micro」を選択すると下の設定項目がグレーアウトします。

amazon-mwaa-micro-env-4

amazon-mwaa-micro-env-5

設定の確認画面です。[環境を作成]ボタンを押すと環境の作成が開始されます。

amazon-mwaa-micro-env-6

amazon-mwaa-micro-env-7

MWAA環境は、20〜30分ほど待つと作成され、[AirFlowを開く]リンクからUIを開けるようになります。

amazon-mwaa-micro-env-8

AirFlowのウェブUIにアクセス

AirFlow環境の一覧から[AirFlow UIを開く]リンクをクリックとAirFlowのUIが表示されます。

amazon-mwaa-micro-env-10

料金

環境クラスとメタデータデータベースのストレージ消費量に基づいて課金ですが、詳細については料金ページ(英語)をご覧ください。

https://aws.amazon.com/managed-workflows-for-apache-airflow/pricing/?nc1=h_ls

運用で検討すべき点

環境の最適な運用を維持するために、以下のメトリクスの監視が推奨します。

  • メタデータデータベースのメモリ使用量
  • ワーカー/スケジューラーハイブリッドコンテナのCPU使用率

まとめ

Amazon Managed Workflows for Apache Airflow(Amazon MWAA)に新たに追加されたマイクロ環境クラス「mw1.micro」は、小規模な本番ワークロードや開発環境に最適な選択肢となります。このクラスは、コスト効率の向上とリソースの最適化を実現しつつ、Amazon MWAAの主要な機能を維持しています。mw1.microでは、スケジューラーとワーカーが単一のコンテナに統合され、2つのAWS Fargateタスクのみを使用するシンプルな構成となっています。これにより、小規模なワークフローや開発環境に適した柔軟性と経済性を提供しています。

ただし、mw1.microには同時実行タスク数やワーカー数に制限があるため、大規模なワークロードには適していません。環境の構築はマネジメントコンソールから簡単に行うことができ、20〜30分程度で完了します。運用面では、メタデータデータベースのメモリ使用量やワーカー/スケジューラーハイブリッドコンテナのCPU使用率などの監視が重要です。

mw1.microの導入により、組織はApache Airflowの機能を損なうことなく、より効率的かつ経済的にデータパイプライン管理とオーケストレーションを行うことが可能になります。これは、特に小規模なプロジェクトや開発段階のワークフローに大きな価値をもたらし、AWSのサービスポートフォリオをさらに強化するものと言えるでしょう。

合わせて読みたい

https://aws.amazon.com/jp/blogs/big-data/introducing-amazon-mwaa-micro-environments-for-apache-airflow/

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.